Ticker

6/recent/ticker-posts

Advertisement

What are the three statements in JDBC

     Statement Object :

     एक बार कनेक्शन बन जाने के बाद अगला कार्य होता है  डेटाबेस से Interact  करना होता है JDBC में  तीन इन्टरफेसेस है जो डेटाबेस में PL/SQL Commands  भेजने और वहां से डेटा को Retrieve  करने के लिए Methods और प्रॉपर्टीज  प्रदान करता हैं JDBC में  तीन Interface होता हैं  

    1. Statement 
    2. PreparedStatement
    3. CallableStatement 

     आइए हम तीनों के बारे में समझते हैं अच्छे से  

    Statement : Statement  इस इंटरफ़ेस का प्रयोग डेटाबेस को समान उद्देश्य के लिए एक्सेस करने के लिए किया जाता है |

     यह उस समय उपयोगी होता है जब रन टाइम पर Static SQL Statements   का प्रयोग किया जा रहा होता है यह  इन्टरफेस में   पैरामीटर   नहीं पास कर सकते हैं  अर्थात पैरामीटर को स्वीकार नहीं कर सकता I

    Statement में ऑब्जैक्ट  क्रिएट  करना  

    SQL Statement को  Execute  करने के लिए स्टेटमेन्ट  का प्रयोग करने से पहले हमें कनेक्शन ऑब्जेक्ट के createStatement ( )Method की  सहायता से एक स्टेटमेन्ट ऑब्जेक्ट  बनाना होता है

     आइए हम एक  उदाहरण से समझते हैं

    try
    {
       stmt = conn.createStatement ( );
    .....
    }
    catch (SQLException e)
    {
    ....
    }
    finally
    {
    .......
    }

    एक बार स्टेटमेन्ट  ऑब्जेक्ट के  क्रिएट होने के बाद इसमें तीन Execute Method में से किसी एक का  प्रयोग SQL स्टेटमेन्ट कोExecute करने के लिए किया जा सकता है |

    boolean execute( String SQL ) 

    यदि result-set Object को Retrieve  किया जा सकता है तो यह Method बूलियन वैल्यू True को  रिटर्न करता है|

      नहीं तो यह False को  रिटर्न करता है इस Method का  प्रयोग SQL DDL स्टटेमेन्ट्स  करना  अथवा डायनामिक SQL  का प्रयोग करने की आवश्यकता होने पर किया जाता है |

    int execute Update ( String SQL) 

    यह Method SQL स्टटेमेन्ट्स के Execute होने  से प्रवाहित Rows  की संख्या को रिटर्न करता है  ऐसे SQL स्टटेमेन्ट्स हैं  Exanple : INSERT ,UPDATED , DELETE 

    ResultSet execteQuery ( String SQL ) 


    यह Method SQL  को Execute करने के बाद प्राप्त हुए ResultSet  को  Retrieve  करता  हैं   | 

    Statement Object  को क्लोस  करना  

    जिस प्रकार से डेटाबेस रिसोर्सेज  को सेव करने के लिए कनेक्शन  ऑब्जेक्ट को बंद  किया जाता है  |

     इसी कारण से स्टेटमेन्ट   ऑब्जेक्ट को भी बंद किया जाता है  इस कार्य को करने के लिए बस close ( ) Method को कॉल  करना होता है |

     यदि हम पहले कनेक्शन ऑब्जेक्ट को बंदclose  करते हैं  ती  स्टेटमेंट ऑब्जेक्ट भी क्लोज हो जाएगा  फिर भी हमें Proper Cleanup  के लिए पहले स्टेटमेंट  ऑब्जेक्ट को क्लोज करके ही कनेक्शन ऑब्जेक्ट को क्लोज करना चाहिए |

    Syntax:
    Statement stmt = null;
    try
    {
    stmt = conn.createStatement ( );
    .....
    }
    catch ( SQLException e)
    {
    ....
    }
    finally
    {
    stmt.close ( );
    }

    1. PreparedStatement 

    Statement  इस इंटरफ़ेस का प्रयोग डेटाबेस को समान उद्देश्य के लिए एक्सेस करने के लिए किया जाता है  यह उस समय उपयोगी होता है जब रन टाइम पर Static SQL Statements   का प्रयोग किया जा रहा होता है यह  इन्टरफेस में   पैरामीटर   नहीं पास कर सकते हैं  अर्थात पैरामीटर को स्वीकार नहीं कर सकता | 


    Prepared Statement में ऑब्जैक्ट  क्रिएट  करना

    JDBC में  सभी पैरामीटर को ? Symbol द्वारा प्रदर्शित किया जाता है  इस Symbol को पैरामीटर मार्कर  कहां जाता है|

     SQL को Execute  करने से पहले हमें प्रत्येक पैरामीटर की वैल्यू प्रदान करनी होती है |

    set ( ) Method   भेजी गई वैल्यू को पैरामीटर के साथ bind करता हैं और यदि वैल्यूज को Supply नहीं किया गया हैं तो एक SQL Exception आ जाता है I

    और यह डेटाबेस के साथ Interact करने के लिए स्टेटमेन्ट के सभी Methods..... के साथ भी  कार्य करता है |

    Syntax :

    Prepared Statement pstmt = null;
    try
    {
    String SQL = "Update Employees SET age = ? WHERE id = ?";

    pstmt = conn.prepareStatement(SQL) ;

    .....
    }
    catch (SQL Exception e)
    {
    ....
    }
    finally
    {
    .....
    }


    Prepared Statementको क्लोज  करना   

    जिस कारण से अन्य स्टेटमेन्ट ऑब्जेक्ट को Close किया जाता है ठीक उसी  प्रकार से Prepared Statement Object को क्लोज किया जाता है |

    Syntax :

    Prepared Statement pstmt = null;
    try
    {
    String SQL = "Update Employees SET age = ? WHERE id = ?";

    pstmt = conn.prepareStatement(SQL) ;

    .....
    }
    catch (SQL Exception e)
    {
    ....
    }
    finally
    {
    pstml.close ();
    }

    1. CallableStatement  

    Callable Statement  इस इन्टरफेस का  प्रयोग उस समय उपयोगी होता है जब डेटाबेस में स्टोर किए गए  प्रोसीजर्स  Paramet को एक्सेस किया जाना हो I यह इन्टरफेस रन टाइम इनपुट पैरामीटर को स्वीकार कर सकता है

    Callable Statement में ऑब्जैक्ट  क्रिएट  करना 

    तीन प्रकार के पैरामीटर्स का प्रयोग किया जाता है IN, OUT, INOUT  Prepared Statement केवल IN  पैरामीटर का प्रयोग करता है जबकि Callable स्टेटमेंट Object  तीन प्रकार के होते हैं |

    1. IN
    2. OUT
    3. INOUT

    1. IN = IN एक पैरामीटर जिसकी वैल्यू SQL Statement को क्रिएट करते समय न पता हो हम IN पैरामीटरके साथ set ( ) Method के द्वारा वैल्यूज को बाइन्ड  Bind करते हैं 
    2. OUT : OUT एक पैरामीटर जिसकी वैल्यू SQL Statement के  रिटर्न से सप्लाई की जाती है हम getXXX( ) Method के द्वारा Out पैरामीटर की वैल्यूज की Retrieve करते हैं I
    3. INOUT : INOUT यह पैरामीटर जो की Input Values और Output Values दोनों  प्रदान करता है हम setXX( )Method के द्वारा वैल्यूज को Retrieve करते है I 

    Syntax :

    Callable Statement cstmt = null;
    try 
    {
    String SQL = " { call getEmp Name ( ?,?)}";

    sctmt = conn.prepareCall(SQL );
    ....
    CATCH ( SQL Exception e )
    {
    .....
    finally
    }
    ....
    }

    Callable Statementको क्लोस  करना  


    जिस कारण से अन्य स्टेटमेन्ट ऑब्जेक्ट को Close किया जाता है ठीक उसी  प्रकार से Prepared Statement Object को क्लोज किया जाता है |

    Syntax :

    Callable Statement cstmt = null;
    try 
    {
    String SQL = " { call getEmp Name ( ?,?)}";

    sctmt = conn.prepareCall(SQL );
    ....
    CATCH ( SQL Exception e )
    {
    .....
    finally
    }
    sctmt.close ( );
    }






    एक टिप्पणी भेजें

    0 टिप्पणियाँ